public class RegularExpression {
    public static void main(String[] args) {

        //心得：拿一个正确的数据，从左到右依次去写

        //手机号
        //13112345678
        //分成三部分：1开头 第二位3-9 后九位任意数字出现九次
        String regex1="1[3-9]\\d{9}";
        System.out.println("13112345678".matches(regex1));//true
        System.out.println("13712345667".matches(regex1));//true
        System.out.println("131123456788".matches(regex1));//false


        System.out.println("-------------------------------");


        //座机号
        //020-2324242  02122442  027-42424  0712-3242434
        //分成三部分：
        // 开头区号0
        // 从第二位开始任意数字2-3个
        // -最多出现一次（？表示0次或1次——>可出现可不出现，出现只能一次）
        // 号码第一位不为0，从第二位开始任意数字，号码总长5-10位
        String regex2="0\\d{2,3}-?[1-9]\\d{4,9}";
        System.out.println("020-2324242".matches(regex2));//true
        System.out.println("027-42424".matches(regex2));//true
        System.out.println("0712-32424341111".matches(regex2));//false


        System.out.println("-------------------------------");


        //邮箱号
        //3232323@qq.com  zhangsan@itcast.cnn  dlei0009.163.com  dlei0009@pci.com.cn
        //三部分：
        // 1、@的左边  \\w+
        //    任意字母数字下划线，至少出现一次即可
        // 2、@只能出现一次
        // 3、（1）.的左边，数字字母除了下划线共2-6个   [\\w&&[^_]]{2,6}
        //    （2）.  \\.
        //    （3）大小写字母都可以，出现2-3次   [a-zA-Z]{2,3}
        //  把（2）（3）看成一组，这一组可以出现1-2次
        String regex3="\\w+@[\\w&&[^_]]{2,6}(\\.[a-zA-Z]{2,3}){1,2}";
        System.out.println("3232323@qq.com".matches(regex3));//true
        System.out.println("zhangsan@itcast.cnn".matches(regex3));//true
        System.out.println("dlei0009.163.comnn".matches(regex3));//false


        System.out.println("-------------------------------");


        //24小时正则表达式
        String regex4="^([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";
        System.out.println("23:11:11".matches(regex4));

    }
}
